package com.yincheng.oes.business.base.mapper;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.yincheng.oes.business.base.entity.Question;
import com.yincheng.oes.business.base.entity.QuestionKnowledgeOutline;
import com.yincheng.oes.business.base.entity.QuestionKnowledgeOutlineExt;
import com.yincheng.oes.business.base.entity.QuestionKnowlegeExt;

/**
 *
 * @author yangsy
 * @version 1.0.0
 * @since
 * 创建时间：2018年7月13日
 * 功能描述：题目与大纲映射关系表增删改查接口
 * 邮箱地址：446948434@qq.com
 */
@Repository
public interface QuestionKnowledgeOutlineMapper {
    /**
     * 根据id删除大纲信息
     *
     * @param id
     * @return
     */
    int deleteById(Integer id);

    /**
     * 插入一条题目与大纲映射关系
     *
     * @param record
     * @return
     */
    int insert(QuestionKnowledgeOutline record);

    /**
     * 根据ID查询题目与大纲映射关系
     *
     * @param id
     * @return
     */
    QuestionKnowledgeOutline selectById(Integer id);

    /**
     * 更新题目与大纲映射关系
     *
     * @param record
     * @return
     */
    int update(QuestionKnowledgeOutline record);

    /**
     * 根据大纲id获取题目列表
     *
     * @param outlineId
     * @return
     */
    List<Question> selectByOutlineId(Integer outlineId);

    /**
     * 根据题目id删除关联的大纲关系
     *
     * @param quesId
     * @return
     */
    int deleteByQuesId(Integer quesId);

    /**
     * 批量插入大纲题目关联信息
     *
     * @param list
     * @return
     */
    int batchInsertOutlines(List<QuestionKnowlegeExt> list);

    /**
     * 批量更新题目id
     *
     * @return
     */
    int batchUpdateQuesId();

    /**
     * 批量更新大纲id
     *
     * @return
     */
    int batchUpdateOutline();

    /**
     * 根据答卷id获取题目大纲列表信息
     *
     * @param resultId
     * @return
     */
    List<QuestionKnowledgeOutlineExt> selectByResultId(String resultId);

    List<QuestionKnowledgeOutlineExt> selectByPaperId(String paperId);
}
